using System;
using System.Collections.Generic;
using System.Text;

using MyAI.NeuralNetworkLib.Specification;

namespace MyAI.NeuralNetworkLib.Implementation
{
    public class NeuronFactory : INeuronFactory
    {
        #region Vars
        private static NeuronFactory _instance = null;
        #endregion

        #region Constructor
        private NeuronFactory()
        { 
        
        }
        #endregion

        #region Instance
        public static NeuronFactory Instance
        {
            get
            {
                if (_instance == null)
                {
                    _instance = new NeuronFactory();
                }
                return _instance;
            }
        }
        #endregion

        #region INeuronFactory Members

        public INeuron CreateNeuron(NeuronTypes type)
        {
            switch (type)
            { 
                case NeuronTypes.SimpleNeuron:
                    return (INeuron)(new SimpleNeuron());
                default:
                    return (INeuron)(new SimpleNeuron());
            }
        }

        #endregion
    }
}
